package com.linb.pan.stream.core;

import lombok.extern.slf4j.Slf4j;
import org.springframework.messaging.Message;

import java.util.Objects;

/**
 * 消费者的共用父类 用于公共逻辑的抽离
 */
@Slf4j
public abstract class AbstractConsumer {

    /**
     * 公用消息打印日志
     */
    protected void printLog(Message message) {
        log.info("{} 消费了消息，消息为: {}", this.getClass().getSimpleName(), message);
    }

    /**
     * 公用的参数校验 true表示消息为空 false表示不为空
     */
    protected boolean isEmptyMessage(Message message) {
        if (Objects.isNull(message)) {
            return true;
        }
        Object payload = message.getPayload();
        if (Objects.isNull(payload)) {
            return true;
        }
        return false;
    }

}
